#str list tuple set dict
#集合、字典的再学习、float
#集合：是一个无序、可变、不允许数据重复的容器(去重),查找的速度特别快--通过哈希查找
v1={1,'scs',1}  #空集合---set()  {}--空字典
print(v1)
#独有功能：add 删除--discard 交集--intersection/& 并集—union/| 差集-difference/-
#公共功能：减（差集） &（交集）  |（并集合）  长度  for循环
for i in v1:
    print(i,end=' ')
print()
#集合的元素是必须可以哈希的:int bool str tuple都是哈希的，而list 和 set 都是不可以哈希的
print(hash('scscs'))
#None相当于其他语言中的null

#字典 ：无序、键不重复、且元素只能是键值对可变的容器
data={'k1':1,
      'k2':2}
print(data)
#键：必须哈希。目前为为止学到的可哈希的类型：int bool str tuple 不可哈希的类型：list set dict  值：任意类型
#适用于固定格式的信息的表示
#独有功能：获取值-get  所有的键-key,所有的值-values,所有的键值-items->p3得到高仿的列表
#           设置值(添加)-setdefault   更新键值对-update   移除指定的键值对-pop    按顺序移除(py3.6之后 后进先出)-popitem
# py3.9之后:并集|   长度  是否包含于：in    字典名[键值]
#根据值修改、添加和移除del 字典名[键值]
print(data.get('k2',333))
#存储原理：哈希表存储
#字典的键：键必须是可以哈希的，且里面的子子孙孙都必须是可哈希的        字典的值：可以是任意类型
#键查找的速度快